package fast.data;

import java.util.Arrays;
import java.util.List;

public enum CharacterClass {
	warrior(1, 1, "rage", "Warrior", 4, Arrays.asList(1)),
	paladin(2, 2, "mana", "Paladin", 4, Arrays.asList(1)),
	hunter(3, 4, "focus", "Hunter", 3, Arrays.asList(7,8,23)),
	rogue(4, 8, "energy", "Rogue", 2, Arrays.asList(0,4,7,13,15)),
	priest(5, 16, "mana", "Priest", 1, Arrays.asList(1)),
	death_knight(6, 32, "runic-power", "Death Knight", 4, Arrays.asList(1)),
	shaman(7, 64, "mana", "Shaman", 3, Arrays.asList(1)),
	mage(8, 128, "mana", "Mage", 1, Arrays.asList(1)),
	warlock(9, 256, "mana", "Warlock", 1, Arrays.asList(1)),
	monk(10, 512, "energy", "Monk", 2, Arrays.asList(0,4,6,7,10,13)),
	druid(11, 1024, "mana", "Druid", 2, Arrays.asList(6,10));
	
	private final int id;
	private final int mask;
	private final String powerType;
	private final String name;
	private final int allowedArmor;
	private final List<Integer> allowedWeapons;
    
    private CharacterClass(int id, int mask, String powerType, String name, int armorclass, List<Integer> weaponclass) {
        this.id = id;
        this.mask = mask;
        this.powerType = powerType;
        this.name = name;
        this.allowedArmor = armorclass;
        this.allowedWeapons = weaponclass;
    }

    public int getId() {
        return id;
    }
    
    public int getMask() {
        return mask;
    }
    
    public String getPowerType() {
        return powerType;
    }
    
    public String getName() {
        return name;
    }
    
    public List<Integer> getAllowedWeapons() {
        return allowedWeapons;
    }
    
    public int getAllowedArmor() {
        return allowedArmor;
    }
}
